Operator
|
Operands
|
Operation Name
|
b
|
target_addr
|
Branch
|
ba
|
target_addr
|
|
bl
|
target_addr
|
|
bla
|
target_addr
|
|
|
|
|
bc
|
BO,BD,target_addr
|
Branch Conditional
|
bca
|
BO,BD,target_addr
|
|
bcl
|
BO,BD,target_addr
|
|
bcla
|
BO,BD,target_addr
|
|
|
|
|
bclr
|
BO,BD
|
Branch Conditional to Link Register
|
bclrl
|
BO,BD
|
|
|
|
|
bcctr
|
BO,BD
|
Branch Conditional to Count Register
|
bcctrl
|
BO,BD
|
|
|
|
|
bctr
|
|
Branch unconditionally to CTR
|
bctrl
|
|
|
bctr
|
BO,BD
|
Equiv. to
bctr BO,BD
|
bctrl
|
BO,BD
|
Equiv. to
bctrl BO,BD
|
|
|
|
bdnz
|
target_addr
|
Decrement CTR, branch if CTR non-zero
|
bdnza
|
target_addr
|
|
bdnzl
|
target_addr
|
|
bdnzla
|
target_addr
|
|
bdnzlr
|
|
...to LR
|
bdnzlrl
|
|
|
|
|
|
bdnzf
|
CRF+COND,target_addr
|
Decrement CTR, branch if CTR non-zero and condition false
|
bdnzfa
|
CRF+COND,target_addr
|
|
bdnzfl
|
CRF+COND,target_addr
|
|
bdnzfla
|
CRF+COND,target_addr
|
|
bdnzflr
|
CRF+COND
|
...to LR
|
bdnzflrl
|
CRF+COND
|
|
|
|
|
bdnzt
|
CRF+COND,target_addr
|
Decrement CTR, branch if CTR non-zero and condition true
|
bdnzta
|
CRF+COND,target_addr
|
|
bdnztl
|
CRF+COND,target_addr
|
|
bdnztla
|
CRF+COND,target_addr
|
|
bdnztlr
|
CRF+COND
|
...to LR
|
bdnztlrl
|
CRF+COND
|
|
|
|
|
bdz
|
target_addr
|
Decrement CTR, branch if CTR zero
|
bdza
|
target_addr
|
|
bdzl
|
target_addr
|
|
bdzla
|
target_addr
|
|
|
|
|
bdzf
|
CRF+COND,target_addr
|
Decrement CTR, branch if CTR zero and condition false
|
bdzfa
|
CRF+COND,target_addr
|
|
bdzfl
|
CRF+COND,target_addr
|
|
bdzfla
|
CRF+COND,target_addr
|
|
bdzflr
|
CRF+COND
|
...to LR
|
|
|
|
bdzflrl
|
CRF+COND
|
|
bdzlr
|
|
|
bdzlrl
|
|
|
|
|
|
bdzt
|
CRF+COND,target_addr
|
Decrement CTR, branch if CTR zero and condition false
|
bdzta
|
CRF+COND,target_addr
|
|
bdztl
|
CRF+COND,target_addr
|
|
bdztla
|
CRF+COND,target_addr
|
|
bdztlr
|
CRF+COND
|
...to LR
|
bdztlrl
|
CRF+COND
|
|
|
|
|
beq
|
CRF,target_addr
|
Branch if equal
|
beq
|
target_addr
|
|
beqa
|
CRF,target_addr
|
|
beqa
|
target_addr
|
|
beql
|
CRF,target_addr
|
|
beql
|
target_addr
|
|
beqla
|
CRF,target_addr
|
|
beqla
|
target_addr
|
|
beqctr
|
CRF
|
...to CTR
|
beqctr
|
|
|
beqctrl
|
CRF
|
|
beqctrl
|
|
|
beqlr
|
CRF
|
...to LR
|
beqlr
|
|
|
beqlrl
|
CRF
|
|
beqlrl
|
|
|
|
|
|
bf
|
CRF+COND,target_addr
|
Branch if condition false
|
bfa
|
CRF+COND,target_addr
|
|
bfl
|
CRF+COND,target_addr
|
|
bfla
|
CRF+COND,target_addr
|
|
bfctr
|
CRF+COND
|
...to CTR
|
bfctrl
|
CRF+COND
|
|
bflr
|
CRF+COND
|
...to LR
|
bflrl
|
CRF+COND
|
|
|
|
|
bge
|
CRF,target_addr
|
Branch if greater than or equal
|
bge
|
target_addr
|
|
bgea
|
CRF,target_addr
|
|
bgea
|
target_addr
|
|
bgel
|
CRF,target_addr
|
|
bgel
|
target_addr
|
|
bgela
|
CRF,target_addr
|
|
bgela
|
target_addr
|
|
bgectr
|
CRF
|
...to CTR
|
bgectr
|
|
|
bgectrl
|
CRF
|
|
bgectrl
|
|
|
bgelr
|
CRF
|
...to LR
|
bgelr
|
|
|
bgelrl
|
CRF
|
|
bgelrl
|
|
|
|
|
|
bgt
|
CRF,target_addr
|
Branch if greater than
|
bgt
|
target_addr
|
|
bgta
|
CRF,target_addr
|
|
bgta
|
target_addr
|
|
bgtl
|
CRF,target_addr
|
|
bgtl
|
target_addr
|
|
bgtla
|
CRF,target_addr
|
|
bgtla
|
target_addr
|
|
bgtctr
|
CRF
|
...to CTR
|
bgtctr
|
|
|
bgtctrl
|
CRF
|
|
bgtctrl
|
|
|
bgtlr
|
CRF
|
...to LR
|
bgtlr
|
|
|
bgtlrl
|
CRF
|
|
bgtlrl
|
|
|
|
|
|
ble
|
CRF,target_addr
|
Branch if less than or equal
|
ble
|
target_addr
|
|
blea
|
CRF,target_addr
|
|
blea
|
target_addr
|
|
blel
|
CRF,target_addr
|
|
blel
|
target_addr
|
|
blela+
|
CRF,target_addr
|
|
blela
|
target_addr
|
|
blectr
|
CRF
|
...to CTR
|
blectr
|
|
|
blectrl
|
CRF
|
|
blectrl
|
|
|
blelr
|
CRF
|
...to LR
|
blelr
|
|
|
blelrl
|
CRF
|
|
blelrl
|
|
|
|
|
|
blr
|
|
Branch unconditionally to LR
|
blrl
|
|
|
|
|
|
blt
|
CRF,target_addr
|
Branch if less than
|
blt
|
target_addr
|
|
blta
|
CRF,target_addr
|
|
blta
|
target_addr
|
|
bltl
|
CRF,target_addr
|
|
bltl
|
target_addr
|
|
bltla
|
CRF,target_addr
|
|
bltla
|
target_addr
|
|
bltctr
|
CRF
|
...to CTR
|
bltctr
|
|
|
bltctrl
|
CRF
|
|
bltctrl
|
|
|
bltlr
|
CRF
|
...to LR
|
bltlr
|
|
|
bltlrl
|
CRF
|
|
bltlrl
|
|
|
|
|
|
bne
|
CRF,target_addr
|
Branch if not equal
|
bne
|
target_addr
|
|
bnea
|
CRF,target_addr
|
|
bnea
|
target_addr
|
|
bnel
|
CRF,target_addr
|
|
bnel
|
target_addr
|
|
bnela
|
CRF,target_addr
|
|
bnela
|
target_addr
|
|
bnectr
|
CRF
|
...to CTR
|
bnectr
|
|
|
bnectrl
|
CRF
|
|
bnectrl
|
|
|
bnelr
|
CRF
|
...to LR
|
bnelr
|
|
|
bnelrl
|
CRF
|
|
bnelrl
|
|
|
|
|
|
bng
|
CRF,target_addr
|
Branch if not greater than
|
bng
|
target_addr
|
|
bnga
|
CRF,target_addr
|
|
bnga
|
target_addr
|
|
bngl
|
CRF,target_addr
|
|
bngl
|
target_addr
|
|
bngla
|
CRF,target_addr
|
|
bngla
|
target_addr
|
|
bngctr
|
CRF
|
...to CTR
|
bngctr
|
|
|
bngctrl
|
CRF
|
|
bngctrl
|
|
|
bnglr
|
CRF
|
...to LR
|
bnglr
|
|
|
bnglrl
|
CRF
|
|
bnglrl
|
|
|
|
|
|
bnl
|
CRF,target_addr
|
Branch if not less than
|
bnl
|
target_addr
|
|
bnla
|
CRF,target_addr
|
|
bnla
|
target_addr
|
|
bnll
|
CRF,target_addr
|
|
bnll
|
target_addr
|
|
bnlla
|
CRF,target_addr
|
|
bnlla
|
target_addr
|
|
bnlctr
|
CRF
|
...to CTR
|
bnlctr
|
|
|
bnlctrl
|
CRF
|
|
bnlctrl
|
|
|
bnllr
|
CRF
|
...to LR
|
bnllr
|
|
|
bnllrl
|
CRF
|
|
bnllrl
|
|
|
|
|
|
bns
|
CRF,target_addr
|
Branch if not summary overflow
|
bns
|
target_addr
|
|
bnsa
|
CRF,target_addr
|
|
bnsa
|
target_addr
|
|
bnsl
|
CRF,target_addr
|
|
bnsl
|
target_addr
|
|
bnsla
|
CRF,target_addr
|
|
bnsla
|
target_addr
|
|
bnsctr
|
CRF
|
...to CTR
|
bnsctr
|
|
|
bnsctrl
|
CRF
|
|
bnsctrl
|
|
|
bnslr
|
CRF
|
...to LR
|
bnslr
|
|
|
bnslrl
|
CRF
|
|
bnslrl
|
|
|
|
|
|
bnu
|
CRF,target_addr
|
Branch if not unordered
|
bnu
|
target_addr
|
|
bnua
|
CRF,target_addr
|
|
bnua
|
target_addr
|
|
bnul
|
CRF,target_addr
|
|
bnul
|
target_addr
|
|
bnula
|
CRF,target_addr
|
|
bnula
|
target_addr
|
|
bnuctr
|
CRF
|
...to CTR
|
bnuctr
|
|
|
bnuctrl
|
CRF
|
|
bnuctrl
|
|
|
bnulr
|
CRF
|
...to LR
|
bnulr
|
|
|
bnulrl
|
CRF
|
|
bnulrl
|
|
|
|
|
|
bso
|
CRF,target_addr
|
Branch if summary overflow
|
bso
|
target_addr
|
|
bsoa
|
CRF,target_addr
|
|
bsoa
|
target_addr
|
|
bsol
|
CRF,target_addr
|
|
bsol
|
target_addr
|
|
bsola
|
CRF,target_addr
|
|
bsola
|
target_addr
|
|
bsoctr
|
CRF
|
...to CTR
|
bsoctr
|
|
|
bsoctrl
|
CRF
|
|
bsoctrl
|
|
|
bsolr
|
CRF
|
...to LR
|
bsolr
|
|
|
bsolrl
|
CRF
|
|
bsolrl
|
|
|
|
|
|
bt
|
CRF+COND,target_addr
|
Branch if condition true
|
bta
|
CRF+COND,target_addr
|
|
btl
|
CRF+COND,target_addr
|
|
btla
|
CRF+COND,target_addr
|
|
btctr
|
CRF+COND
|
...to CTR
|
btctrl
|
CRF+COND
|
|
btlr
|
CRF+COND
|
...to LR
|
btlrl
|
CRF+COND
|
|
|
|
|
bun
|
CRF,target_addr
|
Branch if unordered
|
bun
|
target_addr
|
|
buna
|
CRF,target_addr
|
|
buna
|
target_addr
|
|
bunl
|
CRF,target_addr
|
|
bunl
|
target_addr
|
|
bunla
|
CRF,target_addr
|
|
bunla
|
target_addr
|
|
bunctr
|
CRF
|
...to CTR
|
bunctr
|
|
|
bunctrl
|
CRF
|
|
bunctrl
|
|
|
bunlr
|
CRF
|
...to LR
|
bunlr
|
|
|
bunlrl
|
CRF
|
|
bunlrl
|
|
|